Information processing apparatus and non-transitory computer readable medium

ABSTRACT

An information processing apparatus includes a processor configured to receive communications that are transmitted or received, perform inspection regarding conformity in a specification of each of the received communications, rectify a communication among the communications to bring the communication into the conformity in the specification, depending on an inspection result of the inspection of the communication, and transmit the rectified communication to a destination of the rectified communication.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 fromJapanese Patent Application No. 2020-141993 filed Aug. 25, 2020.

BACKGROUND (i) Technical Field

The present disclosure relates to an information processing apparatusand a non-transitory computer readable medium.

(ii) Related Art

Some communication systems are provided with a mechanism for determiningwhether the contents of individual communication are appropriate and forcorrecting a content needed to be corrected. For example, e-mail systemsuse technology for determining the text of an e-mail and then correctingthe text as necessary.

Japanese Unexamined Patent Application Publication No. 2016-4560discloses a mail correction support system including a correctionsupport function and a correction support database. The correctionsupport function has a function of storing and performing learning onpieces of information including an error in the contents of a requestmail in mail exchange including transmission of a request mail andreception of a reply mail. The information also includes the correctionof the error. The correction support function also has a transmissionfunction implemented when the request mail is transmitted. Thetransmission function generates a corrected request mail in which theerror in the contents of the request mail is corrected on the basis ofthe learning and transmits the corrected request mail to an externalservice.

Japanese Unexamined Patent Application Publication No. 2015-194928discloses an automatic e-mail correction support system including anautomatic correction support database and an automatic correctionsupport server. The automatic correction support database storescorrection history information for automatically correcting a minorerror in the text of a request mail. The automatic correction supportserver refers to correction information and thereby automaticallycorrects a minor error by using a minor error learning function, anautomatic request-mail correction proposal function, and achange-information reflection function.

SUMMARY

Generally, specifications to be satisfied in individual communicationshave been stipulated for communication systems. It is thus conceivablethat whether not only the content of a communication as described abovebut also individual communications satisfy the stipulated specificationsis determined.

However, some communication systems are operated flexibly to some extentregarding specification satisfaction, and thus a communication server insuch communication systems permits even an individual communication notstrictly satisfying the stipulated specifications. For example, fore-mail systems, transmission and reception protocols are strictlystipulated in the request for comments (RFC); however, there are mailservers (such as a SMTP server and a POP server) and mail clients(software) that permit transmission and reception of an e-mail notconforming to the RFC.

In addition, it is possible that there is a communication system thatpermits the presence of a communication server or the like postulatingthe observance of standard specifications and requiring the observanceof a uniquely stipulated rule in addition to the standardspecifications. For example, there is an e-mail system that has a mailserver requiring the encryption of the body of an e-mail by a specificencryption method from a security viewpoint, separately from theconformity to the RFC specifications. Accordingly, it is possible thatin one communication system conforming to standard specifications, anindividual communication is permitted or not permitted depending on thecommunication server.

Aspects of non-limiting embodiments of the present disclosure relate toenabling a communication to be continued in accordance withcommunication protocols respectively used by a sender and a receiver ascompared to a case where an error is simply returned in response to acommunication violating any of the communication protocols.

Aspects of certain non-limiting embodiments of the present disclosureaddress the above advantages and/or other advantages not describedabove. However, aspects of the non-limiting embodiments are not requiredto address the advantages described above, and aspects of thenon-limiting embodiments of the present disclosure may not addressadvantages described above.

According to an aspect of the present disclosure, there is provided aninformation processing apparatus including a processor configured toreceive communications that are transmitted or received, performinspection regarding conformity in a specification of each of thereceived communications, rectify a communication among thecommunications to bring the communication into the conformity in thespecification, depending on an inspection result of the inspection ofthe communication, and transmit the rectified communication to adestination of the rectified communication.

BRIEF DESCRIPTION OF THE DRAWINGS

An exemplary embodiment of the present disclosure will be described indetail based on the following figures, wherein:

FIG. 1 is a view illustrating the overall configuration of acommunication system to which this exemplary embodiment is applied;

FIG. 2 is a view illustrating the functional configuration of a relaydevice;

FIG. 3 is a view illustrating an example hardware configuration of acomputer implementing the relay device;

FIG. 4 is a view illustrating a model generation method;

FIG. 5 is a view illustrating how an e-mail is inspected and rectifiedon the basis of a model;

FIG. 6 is a view illustrating an example report screen for anadministrator;

FIG. 7 is a view illustrating an example report screen for a user at atransmission source; and

FIG. 8 is a view illustrating the functional configuration of a terminalapparatus having a function of executing an inspection and rectificationprocess on e-mails.

DETAILED DESCRIPTION

Hereinafter, an exemplary embodiment of the present disclosure will bedescribed in detail with reference to the attached drawings.

Configuration of Target Apparatuses

FIG. 1 is a view illustrating the overall configuration of acommunication system to which this exemplary embodiment is applied. Thisexemplary embodiment is applied to various communication systems. Anexample in which this exemplary embodiment is applied to an e-mailsystem taken as an example of the communication system will herein bedescribed. The e-mail system illustrated in FIG. 1 includes a mailserver 100, terminal apparatuses 200, and a relay device 300. The relaydevice 300 relays e-mails transmitted and received by the terminalapparatuses 200. The terminal apparatuses 200 and the relay device 300are connected via a network 400. The network 400 is, for example, alocal area network (LAN). The mail server 100 and the relay device 300are connected via a network 500. The network 500 is, for example, theInternet. The communication networks as the network 400 and the network500 may be a wired network or a wireless network.

The mail server 100 is a server (SMTP server) that receives an e-mailtransmitted from one of the terminal apparatuses 200 and transmits thee-mail to the destination thereof. The mail server 100 has a function ofinspecting the format and the security of the e-mail received from theterminal apparatus 200. The mail server 100 rejects, for example, thereceiving of an e-mail determined to be invalid in the inspection. Themail server 100 is implemented by a computer serving as a serverconnected to, for example, the network 500.

Each terminal apparatus 200 has a function of generating (editing) ane-mail and a function of transmitting the generated e-mail. The terminalapparatus 200 also has functions of receiving, from the mail server 100,an e-mail addressed to the terminal apparatus 200 and viewing thereceived e-mail. The terminal apparatus 200 is implemented by aninformation processing apparatus such as a personal computer, a tabletterminal, a smartphone, or a mobile phone.

The relay device 300 receives an e-mail transmitted from one of theterminal apparatuses 200, holds the e-mail temporarily, and inspects theheld e-mail. The relay device 300 transmits an e-mail determined to beappropriate in the inspection to the mail server 100. The relay device300 rectifies an e-mail determined to be inappropriate in the inspectionand transmits the e-mail to the mail server 100. The relay device 300also receives an e-mail transmitted from the mail server 100 in responseto a request for receiving the e-mail from one of the terminalapparatuses 200 and transmits the e-mail to the terminal apparatus 200having made the reception request.

Functional Configuration of Relay Device 300

FIG. 2 is a view illustrating the functional configuration of the relaydevice 300. The relay device 300 includes a relay function 310, arule-based inspection/rectification function 320, a model-basedinspection/rectification function 330, an accumulation function 340, amodel generation function 350, a model update function 360, and a reportfunction 370.

The relay function 310 is a function of receiving an e-mail transmittedfrom one of the terminal apparatuses 200, holding the e-mailtemporarily, and then transmitting the e-mail to the mail server 100 andis also a function of receiving an e-mail transmitted from the mailserver 100 and transmitting the e-mail to one of the terminalapparatuses 200. Before transmitting the e-mail to the mail server 100,the relay device 300 delivers the received and held e-mail forinspection to the rule-based inspection/rectification function 320 andthe model-based inspection/rectification function 330.

The rule-based inspection/rectification function 320 is a function ofexecuting an inspection and rectification process based on apredetermined rule (hereinafter, referred to as an inspection rule) onan e-mail. Specifically, the rule-based inspection/rectificationfunction 320 inspects whether the specifications of the e-mail are validon the basis of the inspection rule. The specifications of the e-mail tobe inspected include a communication protocol. The rule-basedinspection/rectification function 320 rectifies the specifications of ane-mail determined to be invalid to valid specifications. For the e-mailinspection, for example, the RFC specifications for e-mail may be usedas the inspection rule.

The model-based inspection/rectification function 330 is a function ofexecuting an inspection and rectification process based on a model on ane-mail. Specifically, the model-based inspection/rectification function330 inspects whether the e-mail conforms to a model. The model-basedinspection/rectification function 330 rectifies the specifications of ane-mail determined not to conform to the model to bring thespecifications into conformity to the model. The model is generated byextracting characteristics of e-mails succeeding in transmission andreception among e-mails relayed in the past by the relay device 300. Togenerate the model, both of e-mails succeeding in transmission andreception and e-mails failing in transmission and reception are used. Amodel based on the e-mails succeeding in transmission and reception(hereinafter, referred to as a success model) and a model based on thee-mails failing in transmission and reception (hereinafter, referred toas a failure model) may be generated separately. In this case, if ane-mail does not conform to the success model or conforms to the failuremodel in the inspection, the model-based inspection/rectificationfunction 330 rectifies the e-mail to bring the e-mail into conformity tothe success model. In addition, models may be respectively generated onthe basis of the terminal apparatus 200 serving as a transmissionsource, a destination, the mail server 100, and the like. A modelgeneration method is described later.

The accumulation function 340 is a function of accumulating e-mailsrelayed by the relay device 300. Both of the e-mails succeeding intransmission and reception and the e-mails failing in transmission andreception are accumulated. The e-mails accumulated by the accumulationfunction 340 are used to generate a model used for the inspection andrectification process by the model-based inspection/rectificationfunction 330.

The model generation function 350 is a function of generating a modelused for the inspection and rectification process by the model-basedinspection/rectification function 330. On the basis of the e-mailsaccumulated in the accumulation function 340, the model generationfunction 350 learns characteristics common to the e-mails succeeding intransmission and reception and characteristics common to the e-mailsfailing in transmission and reception. The model generation function 350generates a model having the former characteristics and not having thelatter characteristics. In the case where the success model and thefailure model are generated separately, the model generation function350 generates the success model by learning the characteristics commonto the e-mails succeeding in transmission and reception and generatesthe failure model by learning the characteristics common to the e-mailsfailing in transmission and reception. After generating the model, themodel generation function 350 updates the model generated by using thee-mails accumulated in the accumulation function 340. Accordingly, themost recent specifications of the e-mails actually transmitted andreceived (instances) are reflected in the model. It is thereby possibleto respond to specification change or the like in a destination or themail server 100. Note that if a trained model is used to execute theinspection and rectification process on e-mails and is not updated onthe basis of the e-mails transmitted and received after the inspectionand rectification process, the trained model only has to be held. Insuch a case, the relay device 300 does not necessarily have to have theaccumulation function 340 for accumulating the relayed e-mails and themodel generation function 350.

The model update function 360 is a function of updating the model usedby the model-based inspection/rectification function 330 if theinspection rule is changed. The model is updated to conform to thechanged inspection rule. Every time the relay device 300 relays ane-mail, the learning based on the e-mails accumulated in theaccumulation function 340 is reflected in the model used by themodel-based inspection/rectification function 330, and the model isupdated. If an individual specification change or the like in the mailserver 100 or the destination of communication leads to the necessityfor a change to the model, repeatedly performing communications causesthe model to gradually adapt to the specification change or the like.However, if a change to the inspection rule leads to an inappropriateinspection and rectification process by the model-basedinspection/rectification function 330, the inspection and rectificationprocess needs to promptly follow the change in the inspection rule. Thecase where the inspection and rectification process by the model-basedinspection/rectification function 330 is inappropriate is, for example,a case where all of communications conforming to the model aredetermined to be invalid on the basis of the inspection rule. The modelupdate function 360 thus updates the model to bring the communicationsinto conformity to the inspection rule.

The report function 370 reports the results of the inspection and therectification performed by the rule-based inspection/rectificationfunction 320 and the model-based inspection/rectification function 330to a communication administrator or a user at the transmission sourceterminal apparatus 200. The report function 370 may be configured to, inresponse to reporting to the communication administrator or the user atthe transmission source, receive designation by the communicationadministrator or the user at the transmission source as the reportingtarget, and then execute a rectification process and a transmissionprocess. The details of conditions for the reporting, the content of thereport, the designation by the communication administrator or thetransmission source, and operations in response to receiving thedesignation, and the like will be described later.

Hardware Configuration of Relay Device 300

The relay device 300 is implemented by a computer. FIG. 3 is a viewillustrating an example hardware configuration of the computerimplementing the relay device 300. The computer implementing the relaydevice 300 includes a central processing unit (CPU) 101 that is anarithmetic unit, a random access memory (RAM) 102 that is a memory, aread only memory (ROM) 103, a memory 104, and a network interface 105.The RAM 102 is a main memory and is used as a work memory for the CPU101 to perform arithmetic processing. The ROM 103 holds programs anddata such as set values prepared in advance. The CPU 101 is capable ofreading out a program or data directly from the ROM 103 and executing aprocess. The memory 104 is a storage for programs and data. The memory104 stores the programs, and the CPU 101 loads a program stored in thememory 104 into the main memory and runs the program. The memory 104stores results of processing by the CPU 101. As the memory 104, forexample, a magnetic disk device, a solid state drive (SSD), or the likeis used. The network interface 105 is an interface for connecting to thenetwork 400 and the network 500.

When the relay device 300 is implemented by the computer illustrated inFIG. 3, the relay function 310, the rule-based inspection/rectificationfunction 320, the model-based inspection/rectification function 330, themodel generation function 350, the model update function 360, and thereport function 370 are implemented, for example, in such a manner thatthe CPU 101 runs a program. The accumulation function 340 is implementedby the memory 104.

Relationship Between Rule-Based Rectification and Model-BasedRectification

Communication systems for which a rule to be observed such as the RFCfor e-mail is stipulated are originally required to observe a rulestipulating specifications for individual communications. However, somecommunication systems permit an individual communication not strictlyobserving the stipulated rule. For example, although an e-mail addressof an e-mail causes an error when being transmitted from a personalcomputer via a provider, the e-mail may be transmitted and receivedbetween smartphones or mobile phones on some occasions. This occursbecause the e-mail address does not conform to the RFC specificationsbut is permitted in an e-mail service for specific smartphones orspecific mobile phones. In this case, in the rule-based inspection andrectification process, the e-mail address is necessarily to undergo therectification process. In contrast, in the model-based inspection andrectification process, the e-mail may be transmitted and receivedbetween the specific smartphones or the specific mobile phones thatpermit an e-mail address not conforming to the RFC, without executingthe rectification process on the e-mail address. On the contrary, if thee-mail address used in transmission and reception between the specificsmartphones or the specific mobile phones undergoes the rule-basedinspection and rectification process, it is possible to avoid theoccurrence of an error even in the communication from the personalcomputer via the provider.

In addition, there is a communication system that permits the presenceof a communication server or the like that requires the observance of anindependently stipulated rule in addition to standard specifications.For example, an e-mail system has a mail server that requires encryptionof the body of an e-mail by a specific encryption method separately fromthe conformity to the RFC specifications. In such cases, in therule-based inspection and rectification process, it is not possible toexecute an individually required process such as the encryption, andthus even an e-mail undergoing the rectification process has an error intransmission or reception. In contrast, in the model-based inspectionand rectification process, a model is generated by using e-mails havingundergone the individually required process and succeeding incommunication. Accordingly, rectifying a target e-mail to bring thee-mail into conformity to the model enables transmission and reception.

As described above, the rule-based inspection and rectification processand the model-based inspection and rectification process partiallyoverlap with each other in the application range but are different fromeach other. Both of the rule-based inspection/rectification function 320and the model-based inspection/rectification function 330 may thus beprovided to execute the respective inspection and rectificationprocesses. In addition, depending on the operation of the relay device300, only one of the rule-based inspection/rectification function 320and the model-based inspection/rectification function 330 may beprovided, and the inspection and rectification process to be executed bythe other may be executed by using the function of the relay device 300.

Generating Model

FIG. 4 is a view illustrating the model generation method. The relayfunction 310 collects e-mails accumulated by the accumulation function340 by using the model generation function 350 in such a manner as todivide the e-mails as e-mails succeeding in transmission and reception(Success example in FIG. 4) and e-mails failing in transmission andreception (Failure example in FIG. 4). The relay function 310 extractscharacteristics common to the e-mails in the success example andcharacteristics common to the e-mails in the failure example and therebygenerates a model (Mail model in FIG. 4). Conceivable characteristicsextracted from the e-mails are characteristics of a character string ina specific item, combination of contents of items, and the like;however, actually, contents concretely obtained from the collectede-mails in the success example and the failure example are extracted. Toextract the characteristics, a machine learning method such as deeplearning may be used. The machine learning method used to generate amodel may be any of various existing methods applicable in extractingthe characteristics of the e-mails in the success example and thefailure example.

FIG. 4 illustrates e-mail protocols in the success example and thefailure example. Characteristic parts in the success example and thefailure example are not illustrated. The model has examples of theprotocols including the characteristics items extracted from the successexample. In the example illustrated in FIG. 4, the description in thefirst line “S: 220 smtp.ipv6.net-beat.com ESMTP Postfix” is a messagetransmitted from the mail server 100 (denoted by S in the description)to the requesting terminal apparatus 200 and reporting that connectionto the mail server 100 has been established. The description in thesecond line “C: EHLO *” is a HELO command transmitted from one of theterminal apparatuses 200 (C in the description) to the mail server 100.The description in the middle “C: MAIL FROM: <address>[<parameter>]” issender information transmitted from the terminal apparatus 200 (C) tothe mail server 100. The description in the next line “C: RCTP TO:<address>[<parameter>]” is destination information transmitted from theterminal apparatus 200 (C) to the mail server 100. The description inthe second last line “C: QUIT” is a Quit command (terminationinformation) transmitted from the terminal apparatus 200 (C) to the mailserver 100. The description in the last line “S: 221 2.0.0 bye” is areport indicating that an e-mail transmitted from the terminal apparatus200 and then transmitted from the mail server 100 (S) to a different oneof the terminal apparatuses 200 has been received (transmissionsuccess).

The model illustrated in FIG. 4 reads that the conformity of the senderinformation transmitted from the terminal apparatus 200 (C) to the mailserver 100 to the format “<address>[<parameter>]” and the conformity ofthe destination information transmitted from the terminal apparatus 200(C) to the mail server 100 to the format “<address>[<parameter>]” areconditions for being determined as a valid e-mail by the model-basedinspection/rectification function 330.

E-Mail Inspection and Correction Based on Model

FIG. 5 is a view illustrating how an e-mail is inspected and rectifiedon the basis of the model. In the example illustrated in FIG. 5, how ane-mail in a rectified format (After rectification in FIG. 5) is obtainedfrom an e-mail transmitted from the terminal apparatus 200 and receivedby the relay device 300 (Initial state in FIG. 5) by executing arectification process based on the model (Mail model in FIG. 5).

The model illustrated in FIG. 5 requires an e-mail directed to multipleaddresses to have respective pieces of destination information in theformat “<address>[<parameter>]”, whereas the e-mail in the initial statehas one piece of destination information having combination of the twoaddresses “you@mail.com” and “her@mail.com”. In addition, each addressis not interposed between the broken brackets “< >”. The description inthese manners violates the format required by the model. The relaydevice 300 thus rectifies the two addresses to the individual pieces ofdestination information “<you@mail.com>” and “<her@mail.com>” to bringthe addresses into conformity to the model. The e-mail after therectification has the format in which the descriptions of thedestination information conform to the model.

Applying Inspection and Rectification Process

Each of the rule-based inspection/rectification function 320 and themodel-based inspection/rectification function 330 basically executes theinspection and rectification process on all the e-mails relayed by therelay device 300. However, executing the inspection and rectificationprocess on a large number of e-mails leads to an increase in load on therelay device 300. Hence, if a specific condition is satisfied, thee-mail inspection may be omitted. For example, if a condition set inadvance regarding at least one of the transmission source or thedestination of an e-mail is satisfied, the inspection of communicationmay be omitted.

In a specific example, the inspection may be omitted on condition that acommunication from a specific transmission source to a specificdestination succeeds a predetermined number of times or more withoutbeing rectified. This is because in this case, communication from thesame transmission source as before to the same destination as before isconsidered to have a high probability of success also in the future. Inthis case, for example, on condition that a predetermined period haselapsed since the omission of the inspection, the communication from thesame transmission source to the same destination may be inspected again.In addition, on condition that the communication has been performed apredetermined number of times since the omission of the inspection, thecommunication from the same transmission source to the same destinationmay be inspected again. Since it is possible that specifications of themail server 100 or the terminal apparatus 200 are changed before thepredetermined period elapses or before the communication is performedthe predetermined number of times, the inspection is performed again todiscuss the necessity for the rectification process.

If simultaneous communications (multicast or broadcast) are performedfrom one communication source to multiple destinations, the inspectionof only a portion of the multiple communications may be performed, andthe inspection of one or more remaining communications may be omitted.This is because the communications are performed on the basis of thesame specifications, and thus executing the inspection on all thecommunications is considered to be redundant. However, if thedestination terminal apparatus 200 or the destination mail server 100has different specifications, some communications among communicationseven with the same specifications succeed, and other communicationsfail, depending on the destination. A conceivable way of addressing thisis performing the inspection of communications to a small number ofdestinations (such destinations that are known to have differentspecifications) and omitting the inspection of communications to theother destinations.

In addition, in response to success of a communication from a specifictransmission source to a specific destination without undergoing therectification process, the inspection may be omitted in the followingcase. Specifically, when a communication by a sender who is differentfrom a sender at the transmission source and who has a specificrelationship with the transmission source in the specification of thecommunication is transmitted to the destination, the communication maybe omitted. The different sender having the specific relationship withthe transmission source may be, for example, a different sender who is amember registered in a mailing list including the transmission sourceand performs a communication using the mailing list. In addition, a userdirected as a cc or bcc destination in the communication resulting insuccess may be the different sender having the specific relationship.The user specifically serving as the different sender having thespecific relationship with the transmission source may be setindividually on the basis of the operation or the like of thecommunication system or the relay device 300.

Reporting Inspection Result and Rectification Result

In the description above, if an inspection target e-mail inspected byeach of the rule-based inspection/rectification function 320 and themodel-based inspection/rectification function 330 does not conform tothe rule or the model and needs to undergo the rectification process,the rectification process is executed immediately. In contrast, therelay device 300 may be configured to report the inspection result andthe rectification result to the administrator or a user at the e-mailtransmission source and to transmit the e-mail in response to receivingdesignation by the administrator or the user at the transmission source.Note that the report to the user at the transmission source istransmitted to the terminal apparatus 200 used by the user. The terminalapparatus 200 of the user receiving the report displays a report screenindicating the content of the report. The report screen also serves as auser interface (UI) for receiving the designation by the user. The userperforms the designation by operating the report screen. Theadministrator is one of the users of the terminal apparatuses 200. Thereport to the administrator is thus transmitted to the terminalapparatus 200 used by the administrator. The terminal apparatus 200 ofthe administrator receiving the report displays the report screenindicating the content of the report. The administrator performs thedesignation by operating the report screen.

Conceivable reports to the administrator and the user at thetransmission source are, for example, a report of only the inspectionresult and a report of the inspection result and the rectificationresult. In the case of reporting only the inspection result, theadministrator or the user at the transmission source who has receivedthe report confirms the inspection result and designates whether toexecute the rectification process. In the case of reporting theinspection result and the rectification result, the administrator or theuser at the transmission source who has received the report confirms theinspection result and the rectification result and designates whether toapprove the rectification process.

FIG. 6 is a view illustrating an example report screen for theadministrator. A report screen 601 illustrated in FIG. 6 includes aninspection result display 602, a rectification result display 603, adesignation selection unit 604, and an enter button 605.

The inspection result display 602 displays the result of the inspectionby the rule-based inspection/rectification function 320 or themodel-based inspection/rectification function 330 and an invalid partdetected in the inspection target e-mail. If an invalid part is notdetected, a message indicating the absence of an invalid part as theinspection result may be displayed.

The rectification result display 603 displays the result of rectifyingthe detected invalid part of the e-mail. If the inspection results in noinvalid part detection, the rectification process is not executed. Therectification result display 603 thus displays nothing.

The designation selection unit 604 receives an operation for selectingdesignation from the administrator who looks at the report screen. Inthe example illustrated in FIG. 6, one of three types of designation“Transmit after rectifying”, “Transmit without rectifying”, and “Nottransmit” is selectable. The administrator selects whether to rectifythe e-mail and whether to transmit (relay) the target e-mail to thedestination. The enter button 605 (OK in FIG. 6) is a button object forentering the designation selected by using the designation selectionunit 604 and for transmitting the designation to the relay device 300.

Note that the report screen 601 illustrated in FIG. 6 is merely anexample of the report from the relay device 300 to the administrator,and how the reporting is performed is not limited to the displaying bythe report screen 601 illustrated in FIG. 6. For example, the reportscreen 601 illustrated in FIG. 6 displays the inspection result and therectification result but may be configured to display only theinspection result. In this case, the administrator refers to the invalidpart displayed in the inspection result and determines whether therectification process is needed. If the inspection result and therectification result are displayed as illustrated in FIG. 6, theadministrator confirms what the rectification is like by referring tothe rectification result and thereby may select the designation to begiven to the relay device 300. The report screen 601 may be configuredto, in response to detecting an invalid part, display only the result ofthe rectification process executed on the detected invalid part withoutdisplaying the inspection result. In this case, the administratorselects designation to be given to the relay device 300 on the basis ofonly the displayed rectification result. The content of the designationselected by using the designation selection unit 604 is not limited tothe content illustrated in FIG. 6.

FIG. 7 is a view illustrating an example report screen for the user atthe transmission source. A report screen 701 illustrated in FIG. 7includes an inspection result display 702, a rectification resultdisplay 703, a designation selection unit 704, and an enter button 705.

The inspection result display 702 displays the result of the inspectionby the rule-based inspection/rectification function 320 or themodel-based inspection/rectification function 330 and an invalid partdetected in the inspection target e-mail. If an invalid part is notdetected, a message indicating no invalid part as the inspection resultmay be displayed.

The rectification result display 703 displays the result of rectifyingthe detected invalid part of the e-mail. If the inspection results in noinvalid part detection, the rectification process is not executed. Therectification result display 703 thus displays nothing.

The designation selection unit 704 receives an operation for selectingdesignation by the user at the transmission source who looks at thereport screen. In the example illustrated in FIG. 7, one of two types ofdesignation “Rectify” and “Not rectify” is selectable. The relay device300 receives (relays) an e-mail after the e-mail is transmitted from oneof the terminal apparatuses 200 as the transmission source of thee-mail. In other words, the transmission has been designated in thetransmission source terminal apparatus 200. Accordingly, unlike thereport to the administrator, only whether to rectify is designated inthis case and whether to transmit is not designated. The enter button705 (OK in FIG. 7) is a button object for entering the designationselected by using the designation selection unit 704 and transmits thedesignation to the relay device 300.

Note that the report screen 701 illustrated in FIG. 7 is merely anexample of the report from the relay device 300 to the transmissionsource terminal apparatus 200, and how the reporting is performed is notlimited to the displaying by the report screen 701 illustrated in FIG.7. For example, the report screen 701 illustrated in FIG. 7 displays theinspection result and the rectification result but may be configured todisplay only the inspection result. The content of the designationselected by using the designation selection unit 704 is not limited tothe content illustrated in FIG. 7.

Other System Configurations

In the example configuration described with reference to FIGS. 1 and 2,the relay device 300 for communication executes the inspection andrectification process on a relay target communication. The specificconfiguration of this exemplary embodiment is not limited to the exampleconfiguration. For example, a configuration in which the terminalapparatus 200 that is the transmission source executes the inspectionand rectification process at the time of the transmission may be used.

FIG. 8 is a view illustrating the functional configuration of a terminalapparatus 200 having the function of executing the inspection andrectification process on e-mails. The terminal apparatus 200 illustratedin FIG. 8 includes a generation function 210, a rule-basedinspection/rectification function 220, a model-basedinspection/rectification function 230, a display function 240, and atransmission function 250.

The generation function 210 is the function of generating (editing) ane-mail to be transmitted. The rule-based inspection/rectificationfunction 220 is the same as the rule-based inspection/rectificationfunction 320 of the relay device 300 illustrated in FIG. 2 and is thefunction of executing the inspection and rectification process based onthe inspection rule on an e-mail generated by the generation function210. The model-based inspection/rectification function 230 is the sameas the model-based inspection/rectification function 330 of the relaydevice 300 illustrated in FIG. 2 and is the function of executing theinspection and rectification process based on the model on an e-mailgenerated by the generation function 210. The display function 240 is afunction of displaying, on the display device, an e-mail generated bythe generation function 210 and the result of the inspection by therule-based inspection/rectification function 220 or the model-basedinspection/rectification function 230. The user may perform editing ofthe body of an e-mail with reference to the display by the displayfunction 240, confirming the result of the inspection by the rule-basedinspection/rectification function 220 or the model-basedinspection/rectification function 230, and the like. The transmissionfunction 250 is a function of transmitting an e-mail generated by thegeneration function 210 to a designated destination.

In response to generating an e-mail in the terminal apparatus 200configured as illustrated in FIG. 8, the rule-basedinspection/rectification function 220 and the model-basedinspection/rectification function 230 inspect the generated e-mail. Thedisplay function 240 then displays the inspection result and therebyreports the result to the user. The inspection result is displayed byusing, for example, the display screen such as the report screen 601illustrated in FIG. 6. As mentioned with reference to the report screen601, the result of the rectification process may also be displayedtogether with the inspection result. This enables the user to confirmthe inspection result and the rectification result and to decide whetherto approve the rectification process.

The exemplary embodiment of the present disclosure has heretofore beendescribed; however, the technical scope of the present disclosure is notlimited to that in the exemplary embodiment above. For example, in theexemplary embodiment above, the example configuration in which the relaydevice 300 executes the inspection and rectification process on ane-mail and the example configuration in which the terminal apparatus 200executes the inspection and rectification process on an e-mail have beendescribed. In another example, the mail server 100 may be configured toexecute the inspection and rectification process on an e-mail receivedfrom the terminal apparatus 200.

In the exemplary embodiment above, in response to receiving an e-mail tobe relayed from the terminal apparatus 200, the relay device 300executes the inspection and rectification process on the received e-mailbefore transmitting the e-mail to the mail server 100. In contrast, therelay device 300 may be configured as follows. The relay device 300holds the received e-mail and also transmits the e-mail to the mailserver 100. If an error occurs on the destination, the relay device 300executes the inspection and rectification process. Neither theinspection nor the rectification process is thereby executed on ane-mail not requiring the rectification process, and thus an increase intime taken for the relay may be reduced. In addition, assume a casewhere an e-mail is determined to require the rectification process asthe result of the inspection based on the inspection rule or the modelbut actually does not result in an error on the basis of thespecifications of the mail server 100 or the destination. In this case,the rectification process executed unnecessarily on the e-mail may beavoided.

In this exemplary embodiment, the example in which this exemplaryembodiment is applied to the e-mail system taken as an example of thecommunication system has been described. However, this exemplaryembodiment may be widely applied to such a communication system that isoperated flexibly regarding standard-specification satisfaction and thatpermits even an individual communication not strictly satisfying thestipulated specifications. In addition, various modifications andconfiguration replacement are included in the present disclosure withoutdeparting from the scope of the technical spirit of the presentdisclosure.

In the embodiments above, the term “processor” refers to hardware in abroad sense. Examples of the processor include general processors (e.g.,CPU: Central Processing Unit) and dedicated processors (e.g., GPU:Graphics Processing Unit, ASIC: Application Specific Integrated Circuit,FPGA: Field Programmable Gate Array, and programmable logic device).

In the embodiments above, the term “processor” is broad enough toencompass one processor or plural processors in collaboration which arelocated physically apart from each other but may work cooperatively. Theorder of operations of the processor is not limited to one described inthe embodiments above, and may be changed.

The foregoing description of the exemplary embodiments of the presentdisclosure has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit thedisclosure to the precise forms disclosed. Obviously, many modificationsand variations will be apparent to practitioners skilled in the art. Theembodiments were chosen and described in order to best explain theprinciples of the disclosure and its practical applications, therebyenabling others skilled in the art to understand the disclosure forvarious embodiments and with the various modifications as are suited tothe particular use contemplated. It is intended that the scope of thedisclosure be defined by the following claims and their equivalents.

What is claimed is:
 1. An information processing apparatus comprising: aprocessor configured to receive communications that are transmitted orreceived, perform inspection regarding conformity in a specification ofeach of the received communications, rectify a communication among thecommunications to bring the communication into the conformity in thespecification, depending on an inspection result of the inspection ofthe communication, and transmit the rectified communication to adestination of the rectified communication.
 2. The informationprocessing apparatus according to claim 1, wherein the processor isconfigured to perform the inspection of each received communication on abasis of a communication model generated on a basis of pastcommunications and rectify the communication to bring the communicationinto conformity to the communication model.
 3. The informationprocessing apparatus according to claim 2, wherein the processor isconfigured to record at least one communication among the receivedcommunications and success or failure information of the at least onecommunication and generate the communication model by using the at leastone recorded communication and the success or failure information. 4.The information processing apparatus according to claim 3, wherein theprocessor is configured to generate the communication model byperforming machine learning using, as training data, a successcommunication that succeeds among the communications, a failurecommunication that fails among the communications, and the success orfailure information of each of the success communication and the failurecommunication.
 5. The information processing apparatus according toclaim 2, wherein the processor is configured to perform inspection ofwhether each received communication conforms to a rule separately fromthe inspection based on the communication model, the rule beingstipulated in advance for the specification and rectify a communicationamong the communications to bring the communication into conformity tothe rule, depending on a result of the inspection based on the rule. 6.The information processing apparatus according to claim 1, wherein theprocessor is configured to, when a communication among the receivedcommunications satisfies a condition set in advance regarding at leastone of a transmission source or a destination of the communication, omitthe inspection of the communication and transmit the communication tothe destination of the communication.
 7. The information processingapparatus according to claim 6, wherein the processor is configured to,on condition that a communication from a specific transmission source toa specific destination succeeds a predetermined number of times or morewithout being rectified regarding the specification, omit the inspectionof the communication from the specific transmission source to thespecific destination.
 8. The information processing apparatus accordingto claim 7, wherein the processor is configured to, on condition that apredetermined period has elapsed since the inspection omitted on a basisof combination of the transmission source and the destination, performthe inspection of the communication from the transmission source to thedestination.
 9. The information processing apparatus according to claim7, wherein the processor is configured to, on condition that thecommunication from the transmission source to the destination has beenperformed a predetermined number of times since the inspection omittedon a basis of combination of the transmission source and thedestination, perform the inspection of the communication from thetransmission source to the destination.
 10. The information processingapparatus according to claim 6, wherein the processor is configured toperform the inspection of a portion of a plurality of communicationssimultaneously performed from one communication source to a plurality ofdestinations and omit the inspection of one or more remainingcommunications.
 11. The information processing apparatus according toclaim 6, wherein the processor is configured to, in response to successof a communication from a specific transmission source to a specificdestination without being rectified regarding the specification, omitthe inspection of a communication transmitted to the specificdestination by a sender who is different from a sender at the specifictransmission source and who has a specific relationship in thespecification with the specific transmission source.
 12. The informationprocessing apparatus according to claim 1, wherein the processor isconfigured to report, to an administrator, at least one of theinspection result regarding the communication among the receivedcommunication or a rectification result obtained by rectifying thecommunication.
 13. The information processing apparatus according toclaim 12, wherein the processor is configured to, in response toreporting the at least one of the inspection result or the rectificationresult to the administrator, transmit the communication to a destinationof the communication on condition that permission of the administratoris obtained.
 14. The information processing apparatus according to claim12, wherein the processor is configured to, in response to reporting theinspection result to the administrator, rectify the communication oncondition that designation by the administrator is received.
 15. Theinformation processing apparatus according to claim 1, wherein theprocessor is configured to report, to a transmission source of acommunication among the received communications, at least one of theinspection result regarding the communication or a rectification resultobtained by rectifying the communication.
 16. The information processingapparatus according to claim 15, wherein the processor is configured to,in response to reporting the inspection result to the transmissionsource, rectify the communication on condition that designation by thetransmission source is received.
 17. A non-transitory computer readablemedium storing a program causing a computer to execute a processcomprising: receiving communications addressed to respectivedestinations that are different from the computer; performing inspectionregarding conformity in a specification of each of the receivedcommunications; rectifying a communication among the communications tobring the communication into the conformity in the specification,depending on a result of the inspection of the communication; andtransmitting the rectified communication to a destination of therectified communication.
 18. An information processing apparatuscomprising: means for receiving communications that are transmitted orreceived, means for performing inspection regarding conformity in aspecification of each of the received communications, means forrectifying a communication among the communications to bring thecommunication into the conformity in the specification, depending on aninspection result of the inspection of the communication, and means fortransmitting the rectified communication to a destination of therectified communication.